﻿using System;
using Spring.Data.Core;
using TeamTasker.Contracts;
using TeamTasker.Server.DataAccess.Support;

namespace TeamTasker.Server.DataAccess
{
    public abstract class BaseDAO<EntityType> : AdoDaoSupport
        where EntityType : BaseRecord
    {
        public SequenceGenerator SeqGen { get; set; }

        public DictionaryRegistry Dictionaries { get; set; }

        public abstract EntityType Load(long id);

        public abstract void Save(EntityType entity);

        public abstract void Delete(long id);
    }
}
